home *** CD-ROM | disk | FTP | other *** search
/ Multimedia Toolkit 2 / Multimedia Toolkit 2.iso / imagine / imagine.compendium < prev    next >
Text File  |  1991-07-01  |  67KB  |  1,336 lines

  1.  
  2.          The Imagine Compendium
  3.             (3/15/92)
  4.  
  5.       edited by Sandy Antunes (antunes@astrod.astro.psu.edu)
  6.  
  7.    This collection consists of postings to the imagine mailing list.  If
  8. you wish to join this list, contact Steve Worley, spworley@athena.mit.edu,
  9. our most excellent moderator.
  10.  
  11.    The posting here represent people's suggestions, advice, and ideas.
  12. This posting is freely redistributable except that it may not be sold or
  13. distributed for profit.  I have tried to keep citations of the original
  14. authors with each posting, and have including a list at the end of several
  15. of the poster's email addresses.  However, I have edited many of the postings,
  16. most notably in taking out chunks of intro header, quoted earlier postings,
  17. and .sig files.  I take responsibility for any muddling of information this 
  18. may cause.  Neither I nor the original authors are liable for damages, 
  19. however-- you use this collection at your own risk. :)
  20.  
  21.    If anyone notices an error or an incorrect citation, please email me 
  22. (antunes@astrod.astro.psu.edu) so that I may change this for future versions.
  23. In general the latest version will be posted to abcfd20.larc.nasa.gov
  24. (128.155.23.64) in the /incoming/amiga/3d/Imagine directory under the
  25. name ImagineComp.##x, where ## is the year of that edition and x is the 
  26. version: a,b,c, etc. I will announce when a new version is posted to the 
  27. imagine mailing list.  I do not expect to update this terribly frequenty, 
  28. perhaps every few months.
  29.  
  30.    Partial List of Quoted Contributors (Please send me corrections!)
  31.  
  32.    Doug Bischoff , TRI   (deb110@psuvm.psu.edu)
  33.    David Coughran   (drc@koko.csustan.edu)
  34.    Mike Halvorsen
  35.    Glenn Lewis   (glewis%pcocd2.intel.com@Relay.CS.Net)
  36.    Stephen Menzies   (S.Menzies@CAM.ORG)
  37.    Richard Nollman
  38.    Helge Egelund Rasmussen   (her@compel.dk)
  39.    Dave Schreiber
  40.    Udo Schuermann   (walrus@wam.umd.edu)
  41.    Sean Schur, California Institute for the Arts   (schur@isi.edu)
  42.    Scott Sutherland   (sutherla@qtp.ufl.edu)
  43.    Mark Thompson, Radiant Image Productions   (mark@westford.ccur.com)
  44.    Steve Worley   (spworley@athena.mit.edu)
  45.    Kevin (pawn@wpi.wpi.edu)
  46.    (davis@soomee@rust.enet.dec.com)
  47.    (denbeste@ursa-major.spdcc.com)
  48.    (echadex@carl.org)   Colorado Alliance of Research Libraries
  49.  
  50. ========================   INDEX   ==========================================
  51.  
  52. I.      Anti-Aliasing (and the dreaded jaggies)
  53. II.     Attribute Fixes (avoiding weird effects)
  54. III.    Attributes List (including 2 different glass)
  55. IV.     Attributes, Source for (text reference books)
  56. V.      Brush Wraps I (wrapping to a flat plane)
  57. VI.     Brush Wraps II (the 3 basic kinds of wraps)
  58. VII.    Brush Wraps III (wrapping to a Coke can)
  59. VIII.   Brush Wraps IV (axis placement and wrapping modes)
  60. IX.     Bump Mapping I (bump mapping IS altitude mapping)
  61. X.      Bump Mapping II (vs. displacement mapping)
  62. XI.     Bump Mapping III (still vs. displacement mapping)
  63. XII.    Camera Focal Length (and how to change it)
  64. XIII.   Coordinates (finding them, and using TTDDD)
  65. XIV.    Cycle/Detail Groups (loading full objects into cycle editor)
  66. XV.     Glass (the art of glass)
  67. XVI.    Merge (how to use it!)
  68. XVII.   Metals (how to set attributes for them)
  69. XVIII.  Paths (simple advice for extrusions)
  70. XVIX.   Rendering Time (what increases it)
  71. XX.     Resizing Objects (undocumented way to avoid problems)
  72. XXI.    Retracking the Camera (really quickly!)
  73. XXII.   Skin (how to use it!)
  74. XXIII.  Slice (how to use it, too!)
  75. XXIV.   Snapshot I (what it does)
  76. XXV.    Snapshot II (an example and problem solution)
  77. XXVI.   Texture Axis (how to set it up)
  78. XXVII.  World Size (how to change it)
  79. XXVIII. Worley Project One (a way-cool idea)
  80. XXVIX.  Worley Project Two (a large project with many ideas)
  81.  
  82.  
  83. -----------------------------------------------------------------------------
  84.  
  85. ANTI-ALIASING
  86.  
  87. >Question 3 (last one for now):  I noticed the dreaded jaggies on the mirrored
  88. >ball that fills the screen mentioned above.  Is there anything I can do to
  89. >avoid them?  I had thought that closeups on spheres (even in ham resolution)
  90. >made it easier for the software to compensate for jaggies (more pixels in
  91. >the curve).  Will 24-bit rgb color (Colorburst) seriously reduce the jaggies
  92. >even in HAM resolution (320x400)?  
  93.  
  94. The .config file for anti-aliasing defaults to 30. This is ok, but not
  95. great. The best is 0 and final rendering should always be 0. So you must
  96. edit this file everyso often (before opening Im) or build a front end
  97. on the work bench (requires programming knowlege, though). Btw , the
  98. anti-aliasing is EDLE in .config file.
  99. (Stephen Menzies)
  100. -----------------------------------------------------------------------------
  101.  
  102. ATTRIBUTE FIXES
  103.  
  104. I've noticed areas of discoloration on objects of mine as well.  I've found
  105. that going into the attributes editor and reseting all the unused attributes
  106. to zero solved my problem (for example, as part of a recent still-life,
  107. I made a flat box with a wooden texture.  The only attributes I set were
  108. color, dithering, and Texture 1.  When I rendered the image, one face of
  109. the box was purple.  I went back and set set the other attributes to zero
  110. explicity;  the box then rendered perfectly).  It appears that there is
  111. a bug in Imagine's `defaults' handling that causes weird things to
  112. happen if attributes aren't explicity set.
  113. (Dave Schreiber)
  114. -----------------------------------------------------------------------------
  115.  
  116. ATTRIBUTES LIST
  117.  
  118. Here are some nice attributes: use them as you will:
  119.  
  120. Black Gloss: (fururistic- looks sleek. Shine & reflect can be boosted.)
  121.  Color 15 15 15 
  122.  Reflect 40 40 40
  123.  Filter 0 0 0
  124.  Specular 255 255 255
  125.  Dither 255
  126.  Hardness 200
  127.  Roughness 0
  128.  Shininess 100
  129.  
  130. Brick (red clay with mortar type) ->very nice.
  131.  C 112 11 5
  132.  R 0 0 0
  133.  F 0 0 0 
  134.  S 155 70 31
  135.  D 255
  136.  R 118
  137.  Sh 0
  138.  Brick Texture:
  139.   Size 24 14 5
  140.   Mortar: 1.1
  141.   Xshift 12 12
  142.   Zshift 2.5
  143.   mortar color 60 60 60
  144.   
  145. Chrome (mediocre quality, needs tweeking)
  146. C 60 60 80
  147. R 240 240 255
  148. F 0 0 0
  149. Sp 240 240 255
  150. Dith 48 
  151. hard 247
  152. rough 0
  153. shine 177
  154.  
  155. Glass (beautiful! has just the right tint)
  156. C 31 28 86
  157. R 45 45 65
  158. F 235 235 255
  159. Sp 255 255 255
  160. Dith 48 ?
  161. hard 230
  162. Rough 0
  163. Shine 0  <=- CRITICAL
  164. Index of Refr 1.50
  165.  
  166. Sandstone (great color, surface. Bands from wood texture can be played with)
  167. Color 152 94 70
  168. R 0 0 0
  169. F 0 0 0
  170. Sp 197 76 74
  171. dith 255
  172. hard 43
  173. rough 125
  174. shine 0
  175.  texture: wood
  176.  colr 118 50 30
  177.  ring sp 10
  178.  expon 7
  179.  variat .97
  180.  random seed (pick!)
  181.  
  182. Battleship grey paint (neutral. OK.)
  183. color 104 104 104
  184. Ref 30 30 30
  185. F 0 0 0
  186. Sp 130 130 170
  187. dith 255
  188. hard 162
  189. rough 10
  190. shine 30
  191. (Steve Worley)
  192. -----------------------------------------------------------------------------
  193.  
  194. Glass II
  195.  
  196. No problem. For a colorless clear glass, try somethingh like this:
  197. Color: 230, 230, 240 (only a slight blue tint)
  198. Diffuse: 70%
  199. Specular: 100%
  200. Highlight Size: High
  201. Color Highlight: Off
  202. Transparency: 95%
  203. Reflectivity: 30% (optional if you have an image or background to reflect)
  204. Edges: Opaque 
  205. Smoothing: On
  206. By making the surface nearly completely transparent but making the edges
  207. opaque, it gives the appearance of a glass object rather than an object
  208. that is just fading out. Also note that when creating glass objects, you
  209. must pay attention to interior polygons that might otherwise not be 
  210. rendered because of back-face culling. For example, if you create a glass
  211. sphere, you must create it with 2 sided polygons so that the back of the
  212. sphere is visible through the transparent front.
  213. Hope this helps.
  214. (Mark Thompson)
  215. -----------------------------------------------------------------------------
  216.  
  217. ATTIBUTES (SOURCES FOR)
  218.  
  219. To truly mimic materials such as the ones you mentioned requires calculations
  220. and parameters that most renderers do not take into account due to both
  221. user complexity and computational expense. For a really good discussion
  222. on this topic including a survey of common rendering equations and a possible
  223. solution see the November 1990 IEEE Computer Graphics & Applications article
  224. "A Realistic Lighting Model for Computer Animators" by Paul Strauss.
  225. However, Imagine does have have enough available parameters to do a fair
  226. job. "Illumination and Color in Computer Generated Imagery" by Roy Hall is
  227. an excellent book for describing the problem of realistic surface rendering
  228. and has a number of tables, plots, and guidlines for rendering various
  229. materials. In Hall's book, he references Purdue University (1970)
  230. "Thermophysical Properties of Matter", Thermophysical Properties Research
  231. Center, for the various spectral curves and data for a multitude of
  232. materials. Another possibility would be to check the book written for 
  233. Turbo Silver users (I think its by Victor Osaka but I'm not sure) but
  234. I don't know if it covers this topic. Finally, a good rule of thumb for
  235. metals is to keep the spectral and reflected colors close to the surface
  236. color, don't overdo the reflectivity, and use a moderate hardness.
  237. (mark thompson)
  238. -----------------------------------------------------------------------------
  239.  
  240. BRUSH WRAPS I
  241.  
  242. I had similar problems wrapping brushes on to flat planes until I
  243. discovered something that the manual isn't too clear on.  Try the
  244. following example yourself to illustrate the (serious) caveats of brush
  245. mapping (example assumes default function key mapping):
  246.  
  247. In the detail editor:
  248.  
  249. Select Add/Primative/Plane, and except the default plane configuration.
  250.  
  251. Select it with [F1], and edit its attributes with [F7].
  252.  
  253. Select [] Brush 1, and an appropriate IFF from the requester.
  254.  
  255. When the Axis editing requester appears, select "Edit Axis".
  256. A yellow square appears in the "Front View", and a line in the other two
  257. views.
  258.  
  259. Press [M] to move the axis, and drag it (in the Front View) so the center
  260. point is just outside of the lower left hand corner.  The "Front" display
  261. will now look something like:
  262.  
  263.                     z
  264.       ---------
  265.       |   :   |
  266.       |   :   |
  267.       |   .===|x
  268.          --|--     |
  269.          | | |     |
  270.          | .==-----|
  271.          |   |
  272.          -----
  273.  
  274. Where the smaller square is the yellow brush axis.  Note also that in
  275. the top view, the two X axes are directly on top of each other (you may
  276. have to be zoomed in before you begin to see this).  Here lies the first
  277. problem.  Apparently, in order for Imagine to wrap the brush correctly
  278. on to a surface, the brush axis must be offset slightly to one side or the
  279. other.  Before we do that, SCALE the brush with the "S" command so that
  280. the top right quadrent (the positive axes) encompass the entire plane. 
  281. Now go to the top window and MOVE the yellow x-axis to at least 1 pixel
  282. below the orange axis.  You'll note that it also moves one pixel in
  283. front of the orange axis in the right view.  It is important that you
  284. remember which face is the "front" of your plane.  In my test renderings
  285. you see a blotchy-patchy IFF from the other side.  You will see this
  286. same problem on both sides if you let the X axes sit on top of each other.
  287.  
  288. With all of that completed, press the space bar to return to the
  289. requester, and select [OKAY] to return to the Attributes requester.  To
  290. get the best image, turn "Dithering" way down (I usually set it to
  291. zero), and select [OKAY].  Save your object, and move to the stage editor.
  292.  
  293. At this point, the only thing you have to remember is which was the
  294. "front" of your object, and make sure the camera is pointing at it.
  295.  
  296. For other objects, just remember that the positive portion of the brush
  297. axes is the part that contains the image.  It is this top right quadrant
  298. (from the Front view) that must be enlarged and centered on the object.
  299. (????- Mike Halvorsen?)
  300. -----------------------------------------------------------------------------
  301.  
  302. BRUSH WRAPS II
  303.  
  304. First off there are three basic kinds of wraps and they all have to do with
  305. the axis of the brush itself.  These types are:
  306. Wrap X and Wrap Z, Wrap Z Flat X and Flat X Flat Z.  You may notice that It
  307. seems that I have left Flat Z Wrap X out, I hardly ever use this type because
  308. I can do the same thing with Wrap Z aand Flat X.
  309. The brush that is loaded  when you tell it to assign a brush to an object is
  310. brought in at the center of the axis.  IT is mapped in from the center and
  311. moves outward in the positive direction of the Z and X axis.  The Z is the
  312. vertical of the picture and the X is the Horizontal of the picture.
  313. The simplest wrap that you can do is the Flat X and Z.  It truly is the
  314. easiest of them all.
  315. Assume for a moment that you want to put a picture on a flat object, this
  316. object  could have depth to it or it could be a single pixel in depth, it
  317. makes no real difference.
  318. You  assign the brush ( IFF picture) that you want in attributes reqeuster,
  319. then go to edit axis.  The frist this that you want to do is move the
  320. axis of the brush to the lower left corner of the object.  This assumes that
  321. the object is a simple flat object that is oriented as the axis is, by this I
  322. mean that it looks like a wall in the front view as opposed to lying down
  323. like a plate on a table.  The Z axis of your brush should run right up the
  324. left side of the falt object and the X axis should be just below (two or
  325. three pixels.) the flat object.  Now you must scale the Z and the X axis to
  326. be slightly larger than the object itself.  If you had a square that was
  327. 100 by 100 units then the brush axis might be 105 by 105.  In this manner
  328. you can be sure that when you palce the brush axis at the lower left hand
  329. corner of the flat object that it will cover it like a blanket.  All of this
  330. can be done from the front view.  When you scale an axis in Imagine you must
  331. be in the LOCAL mode not WORLD mode.  Repeat,,,,, LOCAL, get to this mode
  332. after you choose, scale and then choose local.  Only the aixs will grow when
  333. you do the scale and the bounding box will just hang out and look stupid.
  334. >From the right view you must move the axis negative in Y, just a couple of
  335. pixels.  THis moves the brush off the face of the object so that it dosen't
  336. get stuck on the objects face plane and look just horrible.
  337. In Turbo Silver you never had to worry about the size of the Y axis.  In
  338. Imagine you DO.  The Y axis defines the depth of the brush or map.  If you
  339. want to make a decal on something that has more than one side or depth, say
  340. the side of a truck.  You want to put your companies logo there, but you
  341. only want it on one side. No problem, position the brush axis where you
  342. want it to appear and then decrease the size of the Y axis to be smaller than
  343. the depth of your object.  It will appear on one side of the object and not
  344. the other.
  345. This is also where it seems that many folks are getting all horsed up when
  346. they try to make what I call, World and Can wraps using the wrap Z option.
  347. To make a world wrap (make a sphere look like earth from outer sapce) you
  348. first need a good map image.  (even if you have a bad image the same applies)
  349. With the brush assigned to your object move the axis to a couple of pixels
  350. below the sphere, scale the Z axis in LOCAL mode to be just a bit larger
  351. than the sphere itself.  From the fron view it should look like a line from
  352. the bottom of the sphere to the top right in the middle of the sphere.  OK
  353. now scale the X axis to be from it present location just slightly larger than
  354. half of the sphere.  It should be a couple of pixels larger than the radius of
  355. the sphere.  NOW Pay attention my friends.  If the Y axis is larger than the
  356. sphere what do you think will happen ?  Of course, you just learned that the
  357. Y axis has DEPTH and if you make it larger than the sphere it is going to do
  358. something that you won't be able to see.  It is going to wrap the image at the
  359. end of the Y axis and if the axis is larger than the object, it is going to
  360. put the picture wrap outside of the object, in no wrap land.  To make this
  361. go away all you have to do is make the Y axis smaller than the object.  I
  362. just make the axis 1 or 2 untis in size and forget about it.  Make sure that
  363. you choose Wrap Z Flat X or Wrap Z Wrap X.  YOu can decide which you like
  364. better for planets and other heavenly bodies.
  365. The last kind of wrap is the CAN wrap as I call it.  You know where you want 
  366. to wrap the coke logo around a tube or can like object.  Do the same thing for
  367. the CAN wrap as you did for the sphere or global wrap.  Position the brush
  368. axis in the same place and make sure that the size of all the axis are the
  369. same as in the sphere wrap.  The  only real difference here is to make sure
  370. that you only choose Wrap Z Flat X, all other wraps will look real spooky.
  371. See now that wasnt so bad was it.  I hope this will help you in your
  372. journeys through your own imagination.  The best answer to all questions
  373. that  pertain to Imagine  is ...... EXPERIMENT, EXPERIMENT and do it again.
  374. Like you I have learned the same way that you are now learning.  I tried
  375. and tried and then did it again.  I dont think much about it anymore cause
  376. I have found what I like.  You need to do the same.
  377. Have Fun and ENJOY
  378. (Mike Halvorsen)
  379. -----------------------------------------------------------------------------
  380.  
  381. BRUSH WRAPS III
  382.  
  383. Reading of the trials and travails some of you are having with wrapping 
  384. labels on Coke cans, I decided to try it for the hell of it.
  385.  
  386. Anyway, I didn't have any Coke label IFF's so I used a Sports Illustrated
  387. swimsuit IFF I had lying around - and got it working.
  388.  
  389. After I post this, I'll be uploading an archive containing a working wrap
  390. that you can look at. One thing I found counter-intuitive:
  391.  
  392. If the tube is one from the "primitive" menu, then it is symmetrical by
  393. rotation around Z. In that case, the proper settings are:
  394.  
  395.    Flat X
  396.    Wrap Z
  397.  
  398. The size of the brush is also somewhat counterintuitive:Given these settings,
  399. the X size of the brush doesn't matter: The IFF is stretched to meet on the
  400. back of the tube no matter what the brush X size is.(Except that for 
  401. reasons I don't quite understand, sometimes when I set it big the brush 
  402. went away entirely. So I didn't change it from its default size.)
  403.  
  404. However, the Z size is extremely important, as you'll see if you examine my
  405. object.
  406. (denbeste@ursa-major.spdcc.com)
  407. -----------------------------------------------------------------------------
  408.  
  409. BRUSH WRAPS IV
  410.  
  411.    While I do NOT profess to be an expert on brush wrapping, let me 
  412. tell you what I can from 1) experience and 2) and article by Leo Schwab
  413. in an old issue of .info (I'll look up the issue and page number if anyone
  414. wants, but I THINK that it is the first or second PURELY AMIGA issue).  
  415.  
  416. The axis placement for Flat X, Flat Z is CORRECT.  However, the axis placement
  417. you used for the other three is what is causing the problem.  Think of it 
  418. like this.  Imagine (no pun intended ;^) a soda can which is cylindrically 
  419. symmetric about the Z axis (standing upright in the FRONT view of Imagine).
  420. You want to wrap a Label about it.  To do this you want to take advantage of
  421. the cylindrical symmetry.  Below I will also draw spheres for comparison with 
  422. the original posted question.
  423.  
  424. CAN: Flat X, Wrap Z
  425.       Z
  426.     --|--
  427.    |  |  |
  428.    |  |  |  Front View
  429.    |  |  |
  430.    |  |  |
  431.    |  |  |
  432.    ---|---
  433.       -----X
  434.  
  435.           Y
  436.           |
  437.           -
  438.         ( |_)__X  Top View 
  439.           -
  440.  
  441. CAN: Wrap X, Flat Z (Note: not appropriate for putting a label on a can):
  442.  
  443.        Z
  444.        | -----
  445.        ||     |
  446.        ||     |  Front View
  447.        |________X
  448.    |     |
  449.    |     |
  450.    |     |
  451.    -------
  452.  
  453.         Y
  454.         |
  455.         |  -
  456.         |(---)-X  Top View 
  457.            -
  458.  
  459. For spheres it is basically the same:
  460.  
  461. SPHERE:  Flat X, Wrap Z:
  462.  
  463.          Z
  464.               |   
  465.          -
  466.        ( | )
  467.          _
  468.          +-----X
  469.  
  470.           Y
  471.           |
  472.           -
  473.         ( |_)__X     
  474.           -
  475.  
  476. I'll leave out Wrap Z, Flat X for spheres.  PLEASE NOTE THE FOLLOWING.  Some
  477. of the above diagrams are misleading because of limitations in ASCII graphics
  478. representations.  One, the Bottom of the Z axis in the FRONT view of both
  479. examples of Flat X, Wrap Z should be JUST below the object's lower extent (Z).
  480. Secondly, the Top of the Z axis in these two views should be JUST above
  481. the top if the object's upper extent (Z).  The X axis in these two examples
  482. should extend JUST beyond the outer X dimension of the object (although
  483. I've heard differing opinions on this point).  FINALLY, as you may have seen
  484. here before, the Y-axis dimension (see TOP View) in Imagine HAS an effect 
  485. on the wrapping process (apparently not true in Turbo Silver).  Set the Y
  486. axis length to 1-2 units just to be safe.  
  487.  
  488. Definitely Check out Leo's article.  It IS for Turbo Silver, but the images
  489. he shows are FANTASTIC as conceptual aids for understanding what these wrapping
  490. modes do.  I reproduced all of the images in both TS and Imagine.  
  491. As for Wrap X, Wrap Z, I do NOT know why this was included in the software,
  492. as I have found NO use for it.  Leo was just as baffled.  Any comments???
  493. Hope this helps.  Let me know if you need the .INFO issue number.
  494. Scott Sutherland
  495. -----------------------------------------------------------------------------
  496.  
  497. BUMP MAPPING
  498.  
  499. It appears that there is some confusion about Bump mapping and Altitude
  500. mapping.  Let's see if this clears it up:
  501.    Imagine's "Altitude Map" *IS* bump mapping.  It involves using
  502. an IFF picture to specify at which locations the surface normals are
  503. altered.  This does not create an actual pitted surface, or actual 3D
  504. alterations, but it does create a good illusion of these.  It works
  505. best on very small alterations, such as the pits in an orange peel.
  506. Don't expect good results with it, trying "stamp" your big initials
  507. into an object, and don't even try to grow "spikes" out of the object
  508. using this technique.
  509. As Altitude Maps (Bump Maps) use your own IFF creations, there is none
  510. of the uncontrolled randomness that you get with Roughness.  They do
  511. not require any "additional polygon detail," either.
  512. (Udo Schuermann)
  513. -----------------------------------------------------------------------------
  514.  
  515. BUMP MAPPING II
  516.  
  517. All bump mapping, no matter what system you are on (Amiga or Silicon 
  518. Graphics) is only the -appearance- of bumps on a surface. There is 
  519. something new, that
  520. only the very high end systems have at this point, called "displacement
  521. mapping". This takes the same signals as bump mapping to do it's work.
  522. i.e. you are mapping an image onto a surface and it knows what is high
  523. or low by the luminance values of the image. The difference is that with
  524. displacement mapping the image you are mapping literally is pulled out and
  525. pushed into the surface of the object. If you are mapping a rose onto
  526. an object (this is one I have seen done), you can turn the object side-
  527. ways and see the various hills and valleys of the rose. With bump mapping,
  528. if you turn the object sideways you still see a smooth surface, even
  529. though from the front it "appears" to have depth.
  530. (Sean Schur)
  531. -----------------------------------------------------------------------------
  532.  
  533. BUMP MAPPING III
  534.  
  535. > >Bump mapping = preturb surface normals
  536. > >Displacement mapping = preturb surface polygon vertices
  537. > Could you explain to me what the difference between these two
  538. > is??  To my untrained ear (and graduate school-fried brain) these sound
  539. > similar if not the same.
  540. > Scott Sutherland
  541.  
  542. No problem. First of all, the lighting/shading of surfaces of a 3D polygon
  543. based object is based upon the surface normals of each polygon and their
  544. angle to the light source(s) and the observer. These surface normals are
  545. computed based on each polygon's vertices. The idea behind bump mapping is
  546. to modify these computed normals based on either some image or procedural
  547. function (ripples, noise, dots, etc.). The net effect is that the shading
  548. of the object gets the bumpy appearance without being bumpy. This is most
  549. effective when using a shading model (like Phong) that interpolates the
  550. normals across the surface of each polygon based on the adjoining polygons
  551. in the object. In this case, every pixel has its own associated suface
  552. normal which can be modified by the mapping function.
  553.  
  554. Displacement mapping on the other hand physically modifies the actual
  555. vertices of the polygons. The mapping technique is the same, but what is
  556. being modified is different. The displaced vertices will then yield
  557. displaced surface normals which will look bumpy when the shading model
  558. is applied. So in this case not only does the surface look bumpy, it is
  559. bumpy. So if you ignore the coloration/shading and look at a sillohette,
  560. a bump mapped sphere is smooth and round, but a displacement mapped sphere
  561. will be nobby and irregular based apon the function or image used.
  562. The advantages are obvious especially if you want to simulate an uneven
  563. terrain on a flat plain. The disadvantage is that displacements can only
  564. occur at polygon vertices, so if you want to increase the detail in your
  565. bumps, you must also increase the number of vertices (polygons) in the
  566. surface. Since bump mapping works with the normals and not the vertices,
  567. a complex bump function can be created on a single polygon. Just in case
  568. I've confused anyone, here a picture to really mess ya up.
  569.  
  570.         ^ ^ ^                 ^ ^ ^      
  571.   ^ ^ ^       ^ ^ ^     ^ ^ ^       ^ ^ ^    Surface nornals
  572.          ____    
  573.   _____.|    |.____     _____.______.____    Actual polygon surface
  574.  
  575.  Displacement mapping      Bump mapping 
  576.  
  577. Something else of note, I don't believe there are any existing algorithms
  578. for implementing displacement mapping in a scanline based renderer
  579. (only ray-tracers). The same is true of fur and other 'hypertextures' which
  580. require similar types of rendering methods.
  581.  
  582. Hope I managed to make this all lucid enough.
  583. (Mark Thompson)
  584. -----------------------------------------------------------------------------
  585.  
  586. CAMERA FOCAL LENGTH
  587.  
  588. I discovered (it was in the documentation clearly presented)
  589. that I could change the focal length of the camera by changing the size
  590. attribute in the Action Script for the camera.  The X/Y ratio controls the
  591. focal length of the camera.  A larger X value creates a wide-angle effect
  592. while a larger Y value creates a telephoto effect.  I was impressed.
  593. I was wondering if the Z value has any effect on the camera lens.  I tried
  594. several different settings with no discernable change.  Any comments?
  595. I tried to change the focal length for a specific range of frames
  596. within an animation, but every time I set new values for X and Y, the
  597. values changed for all the frames.  I tried breaking the ranges up by
  598. breaking up the time line into sets of frames (1-10; 11-20; 21-30).
  599. No dice. Has anyone been successful in using different focal lengths
  600. in the same script?
  601. Finally, I discovered something that surprised me.  I had been under
  602. the impression that if the camera is outside the world (beyond 8000 on
  603. any axis) that the scene would not render correctly.  I had some
  604. instances in my first renderings of the screen being black (dark
  605. gray).  An experienced Imagine user told me that my problem was that
  606. my camera was outside the world and when it sent a ray out, it looked
  607. for the end of the world.  Since it was already outside the world to
  608. begin with, all rays were recorded as blank (null).  I scaled down my
  609. scene and located my camera inside the world and the scene rendered
  610. fine (my first successful rendering).  A few days ago I discovered
  611. that placing my camera and lights outside the world rendered fine.  Has
  612. anyone had experience with the camera placed outside the 8000x8000x8000 
  613. limit of the world?
  614. (Richard Nollman)
  615. -----------------------------------------------------------------------------
  616.  
  617. COORDINATES
  618.  
  619. Doug>      First and foremost.... how can one get the coordinates out of
  620. Doug> Imagine for the points without going to each one and writing down
  621. Doug> the coordinates?
  622.    Piece of cake.  Get TTDDD.zoo from ab20.larc.nasa.gov (I think
  623. it is in the incoming/amiga directory).
  624. Type: "ReadTDDD Enterprise.object > Enterprise.ttddd"
  625.    Now take a look at "Enterprise.ttddd", and it's got all the
  626. information you need, I believe.  Scott mentions some commercial package
  627. that does the same thing.  TTDDD, like Scott's, works on Turbo Silver
  628. objects, but it can read Imagine objects, and will simply skip the IFF
  629. "chunks" that it doesn't understand (and will tell you what ones they
  630. are).  Whenever I get the Imagine IFF format specification, I plan on
  631. upgrading the TTDDD package.
  632. Disclaimer:  TTDDD is ShareWare, written by myself.
  633. (Glenn Lewis)
  634. -----------------------------------------------------------------------------
  635.  
  636. CYCLE/DETAIL GROUPS
  637.  
  638. It is possible to circumvent all the problems connected with the proper 
  639. setup of a new cycle editor object; this is done by creating the full object
  640. in the detail editor, and then load this object into the cycle editor.
  641. If the object is a grouped object consisting of subobjects, each subobject
  642. will be assigned to its own segment.
  643. It is much more easy to place the subobjects at the correct positions in
  644. the detail editor. When you load the object into the cycle editor, 
  645. the only editing commands that you'll need to use is 'pivot' and 'twist'.
  646. The move command will only be used to move the full object.
  647. Here is some 'hints':
  648. - You should NOT group alle the objects together in one go. Instead you must
  649.   group the objects together in a lot of steps. Here is an example:
  650.   You want to create part of a human object consisting of the following
  651.   objects:
  652.      a hand,
  653.      a arm,
  654.      a shoulder,
  655.      a body
  656.   After placing the objects at the correct locations in the detail editor 
  657.   you should create the following groupings:
  658.   Group the arm to the hand (arm is the 'parent' object)
  659.   Group the shoulder to the arm (shoulder is the 'parent' object)
  660.   Group the body to the shoulder.
  661.   If the shoulder is part of the body object, you should use an axis as the
  662.   shoulder. Otherwise the arm would pivot around the body!
  663. - Be sure to place the object so that it is facing in the positive Y 
  664.   direction.
  665.   The stage editor expects this direction, and if you want the object to 
  666.   follow a path, then the object WILL move in the positive y direction.
  667. - Place the axis for a object where you want a sub-object to connect
  668.   to the object. This is necessary as the sub-object will turn around 
  669.   the axis of the object.
  670.   Example, you want to connect a foot to a leg and then to a body:
  671.     Be sure to be in 'pick group' mode.
  672.     Place the axis of the foot in the toes.
  673.     Place the axis of the leg at the bottom of it (you want the foot to 
  674.     turn about this point).
  675.     Place the foot and the leg at the correct positions.
  676.     Press the shift key, select the leg, select the foot and group the 
  677.     objects.
  678.     Place the axis of the body at the lower part of the body (you want the 
  679.     leg to turn about this point).
  680.     Press the shift key, select the body, select the leg and group the 
  681.     objects.
  682.     Now save the object. This object can be loaded into the cycle object.
  683. - Remember that it is the 'top' object of the group that will follow a path 
  684.   in the stage editor. Because of this, you can't move the 'top' object 
  685.   relative to the path, so it would be a stupid idea to use a real object 
  686.   as the 'top' object: The solution is to create an axis and group the 
  687.   final object to this before you save it.
  688.   Example: 
  689.     When you make an object walk, the body is the fixpoint, and the legs 
  690.     move.
  691.     However, if you want the man object to bend over, it is the legs that are
  692.     the fixpoint, and the body that move. 
  693. (Helge Egelund Rasmussen)
  694. -----------------------------------------------------------------------------
  695.  
  696. GLASS
  697.  
  698. The Art Of Glass.
  699.  
  700. Glass is perhaps the hardest look to perfect. It is obviously a worthwhile
  701. attribute to use, but it is tricky to get it just right.
  702.  
  703. The first obstacle is just to get it working. The MOST common complaint
  704. is "I can't make ANYTHING transparent". The reason is a bug in Imagine. 
  705. ANY shininess in an objects attributes shuts down transparency. You
  706. have to use 0 shiniess. Not a small amount, zero. Only then can you get
  707. it to function.
  708.  
  709. Transparency is controlled by the filter attribute.The higher the attributes,
  710. th more light of that color gets though. In this way, the name "filter" is
  711. a bad choice in my opinion- to filter light completely, you select 0 0 0.
  712. Good transparency needs a good amount of amplitude. Subtle amouts just do not
  713. show up. For a transparent object, 200 is the smallest I use, but you
  714. can experiment. Objects that you can see clearly through I usually pump
  715. up to 240-255. Also, glass has a SLIGHT bluish tinge, so I use 
  716. RGB= 250,250,255. Cherry Jello might be 240, 140, 140.
  717.  
  718. Glass is a real light reflector- It has very bright, tight highlights. 
  719. I crank specular up to 255,255,255, and hardness up to 255. Having soft 
  720. higlights looks wrong and also blocks out some of the image coming though.
  721.  
  722. If you want to use glass, don't forget the index of refraction. The 
  723. index of refraction tells how much light bends when it moves from one
  724. media to another. The larger the index, the more the bend at the 
  725. intesection. A value of 1.0 makes no bend, and is like air. A value of
  726. 2.9 will bend light so far that it's almost unreal. A list of refractive
  727. indeces-
  728.  
  729.             Air           1.02
  730.        Ice           1.309
  731.        Alchohol      1.329
  732.             Water         1.333
  733.             Glass         1.50
  734.             Quartz & salt 1.644
  735.        Diamond       2.417
  736.  
  737. Remember, setting a sofa to being transparent with an index of refraction of
  738. 1.309 will NOT make everyone say "Wow! Its made of ice!" The other attributes
  739. are just as important in giving transparent objects character.
  740.  
  741. Also, with the index of refraction too high, light coming though will be so
  742. bent there will be no image recognizable. Especially for objects that are
  743. large or complex, a lower index of refraction looks better (and traces 
  744. faster!) Anything that is transparent becomes a lens, and a sofa is a 
  745. crummy optical instrument. For a transparent sphere, I had to lower the 
  746. index to 1.08 to make objects on the other side recognizable.
  747.  
  748. Roughness and altitude maps are particularly effective with transparent
  749. objects. The direction light bends depends on the surface orientation at the
  750. spot it enters and nothing else. Thus, a rough or altituded (?) surface adds
  751. a lot of effect to the transparent light. Think of a fresh ice cube- you
  752. see a lot of light though it, but the frost on the outside makes it hard
  753. to look at anything THROUGH it. If the frost melts, the outside surface is
  754. smooth, and you can see though the ice pretty easily. 
  755.  
  756. I prefer using a 
  757. random altitude map made by using the airbrush in DPaint III than using the
  758. rougness attribute. The reason has to do with roughness being a random
  759. surface direction change (like it should be), but its not consistant from
  760. frame to frame of an anim- it looks like there's lots of bugs crawling on
  761. it, to steal Scott's complaint.
  762.  
  763. The surface direction is very important to the character or transmitted 
  764. light, so Phong shading is very important as well. Phong shading smooths 
  765. objects made of polygons into a smooth(er) surface, as opposed to having 
  766. faceted sides like a cut jewel. Phong shading is used for determining the 
  767. direction light bends, so (just like roughness) it will make the character 
  768. of your object change.
  769.  
  770. A note- If you have any of the objects I put on ab20.larc.nasa.gov, some
  771. objects are NOT phong-shadable. This has to to with them having duplicate
  772. points and edges so Imagine doesn't realize the faces are adjoining. To fix
  773. this, use an undocumented feature in the detail editor, called "Merge" to
  774. merge the dupicate points, then you should be fine. The objects in the 
  775. first two files on ab20 are all this way- the files 3-5 I think I caught
  776. most of them and already merged them.
  777.  
  778. The color that you set glass determines the shade Imagine will give to
  779. non-perfect glass- ie glass without transparency set at 255 255 255. Black
  780. ( 0 0 0 ) works well, since then the  color doesn't cover up the image.
  781. You can experiment, though.
  782.  
  783. One last important  attribute of glass is reflection. Glass reflects
  784. light a little bit, so should be slightly reflective. Too reflective,
  785. and the transmitted image gets overpowered. Think of a window- you see
  786. though it quite clearly without seeing much reflection. At night, when
  787. there is little light coming though, you can see the mirror-like qualities
  788. of the glass. Transparency should almost always dominate. Good value
  789. for reflection are in the range 30-60, and again, I use a SLIGHT blue tint.
  790.  
  791. A fun, advanced topic is lenses. You can make them, and they'll actually
  792. work! To make a simple lens, make a primative sphere of a pretty hefty # of 
  793. slices and sections (like double the default). Go to "select points"
  794. mode, and use the dragbox to select all but the top 20% of the sphere.
  795. Delete these points. Move the axis to the very bottom of the half-lens
  796. using M (shift-M). Make sure that the axis' Z location is as close to the
  797. Z locaton of the bottom ring of points as you can (important!) Then select
  798. the object, COPY it, PASTE it. There are now 2 identical half-lenses on
  799. top of each other. Select one, then use Transformations to scale it 
  800. x=1.0 y=1.0 z=-1.00 mirror reverse it. If your axis is placed right, you'll
  801. have both half lenses sharing the center (previously bottom) row of points.
  802. Select both halves, then JOIN them into a single object, then MERGE them
  803. to get rid of the duplicate points in the center. Set the attributes to 
  804. glass, and Voila! a lens! It works! This is a converging (magnifying)
  805. lens, and you can try a diverging lens, though I haven't, yet. The
  806. lens will also take much larger indexes of refraction without munging
  807. the image, unlike the sofa.  Quick rules- object far away, you'll see
  808. it upside-down. Too close, it will be really big and out of focus. At
  809. the focal length, it will be in focus and magnified. Focal length
  810. is proportional to R (of the sphere) and the index of refraction. Kinda
  811. advanced, but lotsa fun.
  812.  
  813. Steve's cool transparent ball-
  814.  
  815. Color =0 0 0
  816. Transp= 250 250 255
  817. Reflec= 49 49 53
  818. Specular= 150 150 150
  819. hardness= 255 255 255
  820. rough=0
  821. shininess=0 (CRITICAL)
  822. Index=1.08
  823. (Steve Worley)
  824. -----------------------------------------------------------------------------
  825.  
  826. MERGE
  827.  
  828. A completely undocumented feature of Imagine! Its called "merge".
  829. I am pretty sure of what it does. Its in the Detail editor, directly below
  830. "join".  What it does is takes the selected object, and optimizes it by
  831. removing duplicate points, lines, and faces. Some objects have a LOT.
  832. If you are using any of those objects I uploaded to ab20.larc.nasa.gov,
  833. USE THIS FEATURE. These objects are riddled with duplicate points- They
  834. look fine, but will save much smaller and (most importantly!) will redraw
  835. almost twice as fast when you move or zoom in any of the editors.
  836. Joining seems like it would improve Phong shading- I'll have to check.
  837. Another place where you might want to use this feature is after any 
  838. "join", since a lot of edges and points might line up, especially if
  839. you're joining a front and back face to an extrusion.
  840. (steve worley)
  841. -----------------------------------------------------------------------------
  842.  
  843. METALS: 
  844.  
  845. It seems that after all this time the message on how to make Chrome, Gold
  846. Silver, Brass and other attributes that have a real world quality, has gone
  847. either unoticed or we have done a poor job of telling you how.
  848. So here is a quick quide.  In no way should you use these numbers to be
  849. a holy grail, they are just numbers that I use and find that they meet my
  850. needs.
  851. First things First.  These attributes of Gold or Silver (chrome) and other
  852. shiny metalics have almost more to do with the environment that they are in
  853. than the color or refelction of the object.  Try to imagine yourself in the
  854. real world and understand that gold and chrome are most noticeable when they
  855. are shown in an environment of Bright sun with lots of colors and other
  856. items to help the attributes in a sense take hold.
  857. For GOLD.
  858. I make the object color Red 205, Green 205 and Blue 80.
  859. Refelctive settings are Red 180, Green 160 and Blue 125
  860. I use hardness at 255 and specular 255 on all guns Red Green and Blue.
  861. If you add a intersting dithered Global brush to the Globals in the
  862. Action editor the effect is even better.
  863. Now the enviroment of tthat Gold likes seems to be the use of pastel or
  864. lighter colors for Horizon and Zenith colors.
  865. It is best to try several objects in a scene with different attribute numbers
  866. you will then get a much better feel for what YOU like.  The one problem
  867. with Attributes is that you must decide for yourself what is GOLD or SILVER.
  868. One mans Gold is another mans (or womans) Brass.
  869. Chrome is almost the same.
  870. Object color:  Red 120, Green 120, Blue 160
  871. Reflective Red, Green and Blue 140 on each
  872. Specular 255 all Guns and Hardness 255
  873. Last but not least, Glass.
  874. Make the object color Black or Red Green and Blue set to 0.
  875. Filter 255 on all guns, no reflectivity on any guns and Hardness 255, with
  876. Specular at 255 on all guns.
  877. So I hope this helps, or at least gives you some idea of what I use to get
  878. the effects that many find hard to conqure.  Remember I have spent many hours
  879. trying several sets of attributes to get what I like.  Chances are that if
  880. you do the same you will find yourself with results that you appreciate.
  881. On to more tracing....
  882. (by Mike Halvorsen)
  883.  
  884.  
  885. As I had mentioned before, for metals, it is best to make your specular
  886. color close to your surface color. 255 on all guns will yield the
  887. characteristic "plastic look" that standard Phong shading is known for.
  888. The reflectivity helps but it still doesn't look like metal. For this
  889. case, specular R = 255, G = 255, B = 160 should yield more realistic
  890. results. This is based on the actual behavior and physical properties
  891. of metalic materials.
  892. (????)
  893. -----------------------------------------------------------------------------
  894.  
  895. PATHS
  896.  
  897. No you can't use the stage editors paths for extrusion. As for your
  898. problems with extrusions, just make sure that the object to be extruded
  899. and the extrusion path have distinct names (and don't forget to hit 
  900. RETURN whenever you fill in a requester (the charcters will capitalize
  901. when you do that)
  902. (Stephen Menzies)
  903. -----------------------------------------------------------------------------
  904.  
  905. RENDERING TIME
  906.  
  907. The list is long: reflections and refractions increase rendering time
  908. significantly, anti-aliasing (0 longest)-btw this you must edit in
  909. the .config file and resolve depth (also in .config file), number
  910. of polygons, camera position (obliqueness), size of brush maps and
  911. even the numerical entries of solid textures, resolution, display 
  912. and render modes etc etc. The big ones are refraction, edge level(anti
  913. aliasing , reflection (along with "depth") and #of polygons. Pretty
  914. well in that order too. Remember that a higher refraction index is
  915. longer rendering time also.
  916. And yes the scale of the object means a LOT. Imagine uses something called
  917. *Octree* to calculate the scene. I no nothing about it other than the
  918. larger the scale of the object, the faster it will render.The difference
  919. can go from *hours* to minutes.So scale your scene big. Select everything
  920. in the scene (including camera and lights) and scale it interactively.
  921. Don't worry, this won't disturb your camera view or anything like that.
  922. (Stephen Menzies)
  923. ---------------------------------------------------------------------
  924.  
  925. RESIZING OBJECTS
  926.  
  927. Mike (last name?  from The Portal System) writes:
  928. >Has anyone else noticed this bug?  I took an object, a human skull, 
  929. >and wrapped a brush around it..marble..anyhow I took this object
  930. >into the stage editor and resized the object to make it smaller than
  931. >it was when I originally was defining it in the detail editor..when I
  932. >went to render the scene..there appeared to be a number of *spikes*
  933. >protruding from the skull..actually looked kinda cool..but not what
  934. >I had in mind..anyhow I feel the problem is that when you resize an
  935. >object in the stage editor that the points and faces are contracted..
  936. >but the axis and any brush or attributes are *not* likewise contracted..
  937.    I encountered something similar (no "spikes" in mine though) on my
  938. mannequin project.  You MUST be careful when you resize objects in the
  939. STAGE editor.  I found that I needed to be in the GLOBAL (not LOCAL) mode
  940. to get things to work out right.  And Mike is correct with respect to the
  941. TEXTURE attributes.  I had the WOOD texture and grain nicely chosen for my
  942. original object.  When I shrunk it by a factor of 100 and rendered it, the
  943. texture lines were gone.  It turns out that all the info that is in the
  944. EDIT TEXTURE window is unaffected by all of this shrinking or expanding.
  945. You must change these in the DETAIL Editor. Also, if you are MORPHING one
  946. object into another, these Details are not affected.  What do I mean?  I 
  947. morphed a wood object into a black GLOSSY object.  As I carefully watched the
  948. object morph animation, I saw that the BASE color of my tan wood slowly
  949. changed into black over the 25 frames of my animation.  However, the wood 
  950. GRAIN color remained constant.  Then the GRAIN just 'popped' out (disappeared
  951. from one frame to another) from frame 24 to 25.  This does make some 
  952. interesting effects, but it was NOT what I wanted. 
  953.  
  954. I did find a work-around for this (don't we seem to spend a lot of time finding
  955. out how to use UNDOCUMENTED features to work around things the the DOCUMENTED
  956. features cannot handle ;^))?? ).  In the STAGE editor, I moved to FRAME 24 and
  957. SAVED this object as OBJ.FR24 (or something like this).  I loaded it into
  958. the DETAIL editor and changed the grain color to something more reasonable
  959. (it went from Dark Brown to black, so I just lowered the intensities on all
  960. guns to almost black).  I then went back to the STAGE editor and did the 
  961. following.  I deleted my original morphing object.  Then I loaded the starting
  962. wood object into frame 1.  I then loaded my OBM.FR24 into frames 2-24 with a
  963. transition of 23 (or is it 22?  I forget.).  Then I loaded my FINAL black
  964. object into frame 25.  Thus, Imagine thinks it is morphing from one wood
  965. texture to another for 24 frames and then to a solid (non-textured) surface
  966. in frame 25.  From frames 1-24, both the base color AND the grain color 
  967. morph.  I suppose that I could have simply KEPT the wood texture on and 
  968. morphed from my original wood texture in frame 1 to a BLACK base color and 
  969. BLACK grain colored wood in frame 25.  This would have saved me from using
  970. 3 different objects for this, but I wanted to remove the wood completely.  
  971. (Scott Sutherland)
  972. -----------------------------------------------------------------------------
  973.  
  974. RETRACKING THE CAMERA
  975.  
  976. In the Stage editor it is possible to re-track the camera to your object
  977. after moving the camera (or the object I assume, I didn't try it), just
  978. hit Right Amiga-C and hit return to clear the requestor, and the camera
  979. is now re-aligned to your object.
  980. I had been going back to Action and doing the delete-add-track sequence
  981. on the camera's actor bar.
  982. (???????????)
  983. -----------------------------------------------------------------------------
  984.  
  985. SKIN:
  986.  
  987. I've used this to create airplane wings, and the like, I start by creating
  988. the "ribs" of the wing. copy them, size them, etc. until I have the ribs of
  989. the wing done (much like a balsa wood model of a plane).  I then multi select
  990. all of the ribs, and select SKIN, which does exactly what you would expect.
  991. (kevin, pawn@wpi.wpi.edu)
  992. -----------------------------------------------------------------------------
  993.  
  994. SLICE
  995.  
  996. Create the object that you want to bore a whole through, or slice.
  997.   A sphere will be fine (primative sphere)
  998. Create the object to do the cutting with, a cylinder to drill a hole, or a 
  999.   plane to do some cutting, for example.
  1000. Place the objects over one another, aligned the may you want the SLICE to 
  1001.   take affect (did you understand that?)
  1002. Multi Select the two objects (order doesn't seem important) and select SLICE.
  1003. This will leave many new objects, which you can cycle through and delete the
  1004.   ones that you do not need, or want.  For example, slicing a sphere with a 
  1005.   plane will leave the bottom half of the sphere, the top half of the sphere,
  1006.   a plane with a disc cut out of it, and a disc. (understand where these all 
  1007.   come from...)
  1008. SLICE can be used to do some very powerful things (BOOLEAN wise...)
  1009. (Kevin, pawn@wpi.wpi.edu
  1010. -----------------------------------------------------------------------------
  1011.  
  1012. SNAPSHOT I:
  1013.  
  1014. >From the stage editor, assume you have an object that has the effect of
  1015. explode.  Goto the last frame of the animation (again, assuming that this
  1016. is a x-frame length animation where explode runs from frame 1 to frame x).
  1017. You will see the object is in pieces according to your description of
  1018. explode.  Select the object (eg, place the cross-hairs over the object's
  1019. axis origin and click).  Select snapshot.  You will then be presented with
  1020. a file requestor for an object file.  Type in object's_name.exploded.
  1021. Now go into detail editor and load object's_name.exploded.  You will then
  1022. load the "exploded" version of the object.
  1023. (??????????)
  1024. -----------------------------------------------------------------------------
  1025. SNAPSHOT II:
  1026. I do not know about your exact situation with the STAGE editor, but let me 
  1027. tell you my encounter with something similar that may help you out.  I was
  1028. attempting to MORPH two objects together.  I had created one of them using
  1029. the DETAIL editor, saved it, and then used the various tools in the DETAIL
  1030. editor to alter it to its final 'morphed' form.  I then went to the STAGE
  1031. editor and loaded object one for one frame.  Then I loaded object 2 for
  1032. frames 2-25.  I looked at the FIRST and LAST frames and all looked well.
  1033. Then I chose ANIMATE to do a wire-frame preview.  What I saw was that, while
  1034. my object morphed, it stretched along the X axis by ~30%.  Well, I checked to
  1035. see if the final object was larger than the initial one (loaded them on top of
  1036. one another in the DETAIL editor).  They were the SAME 'apparent' size.  
  1037. I put apparent in quotes because this WAS my problem.  I looked at frame
  1038. 1 of the animation, selected the object, and checked its size.  I then 
  1039. looked at the final object in frame 25 and checked its size.  THEY were the
  1040. SAME.  However, when I looked at them in the DETAIL editor, their Y sizes 
  1041. were NOT the same.  I guess that the size is taken from the axes or something.
  1042. Armed with this knowledge, I went back to the STAGE editor and into the 
  1043. ACTION editor.  I noticed that my SIZE line for the morphed object was only
  1044. defined for FRAME 1.  I selected INFO and the clicked on the object size.
  1045. I altered the FINAL frame number to 25 and tried again.  I got the SAME 
  1046. result as before (morphing and stretching).  Finally, I went to FRAME 25 of
  1047. the morphed object's SIZE line and changed the size to the numbers given to
  1048. me in the DETAIL editor for the final object.  THIS SOLVED THE PROBLEM!!!
  1049. Thus, check all initial and final sizes and play around with the object's 
  1050. SIZE timeline.
  1051. As for the TRACK axis, I had similar problems.  I just deleted my TRACK object
  1052. and reloaded it clicking once on the first frame of the animation and once
  1053. on the last frame to give it a timeline over the entire animation.
  1054. I hope this helps (you and anyone else having problems).  
  1055. (Scott Sutherland)
  1056. -----------------------------------------------------------------------------
  1057.  
  1058. TEXTURE AXIS
  1059.  
  1060. The texture axis is the reference from which the texture algorithm calculates
  1061. its discontinuities. If you place the texture axis at 100,100,100 and are
  1062. using "checks" with cube-size of 40, then on each axis the color changes will
  1063. occur at -20, 20, 60, 100, 140, 180 etc.
  1064.  
  1065. If you set up a cube (or a "ground") so that it lays exactly at one of these
  1066. change planes, you'll get what they refer to as "digital bounce" which means
  1067. that the color is indeterminate and it effectively makes a random choice.
  1068. You need to offset the texture axis so that the surfaces of your object do 
  1069. not lay on such change planes.
  1070.  
  1071. The "brick" texture isn't any more complex conceptually than "checks", it 
  1072. just has more of these color planes to watch out for. For example: If your 
  1073. "brick" texture is centered at 0,0,0 and has brick size of 40,40,40 and 
  1074. mortar size of 10,10,10, then on the X axis there's a color change plane 
  1075. at 0, 40, 50, 90, 100, 140, 150 etc.
  1076.  
  1077. >With the cube, axis in the exact center, where do I place the axis of the
  1078. >Texture? in the cube? out of the cube?
  1079. Since a texture extends infinitely far in all directions,this doesn't matter.
  1080. What IS important, as stated above, is to place the axis so that none of the
  1081. surfaces of the object lay exactly on any color-change plane.
  1082.  
  1083. > Maybe I should move the axis of he cube?
  1084. The axis of the texture is kept relative to the axis of the cube, so moving
  1085. the cube won't cause manifestation of the texture to change.
  1086.  
  1087. > How big should I scale the Texture, does this matter at all?!
  1088. You should scale the texture to make the result look the way you want. For
  1089. instance, you need to make sure you don't make it too large, or else your 
  1090. cube might end up being one big brick - which is rather pointless. Equally,
  1091. if you make the texture too small, your cube might become a hundred million
  1092. tiny bricks, which is equally pointless.
  1093. (??????????????)
  1094. -----------------------------------------------------------------------------
  1095.  
  1096. WORLD SIZE
  1097.  
  1098.      So THAT's how you change the world size!  The size requester in the 
  1099. Globals section!!!!!  Is this true?  I'm gonna play with it, but has 
  1100. anytbody else found this?-
  1101. -----------------------------------------------------------------------------
  1102.  
  1103. WORLEY PROJECT ONE (Way Cool Image Idea of Steve Worley)
  1104.  
  1105. This was way-cool! Try it.
  1106. Get an object. A sphere will do, but whatever you want.
  1107. FLAT map a brush onto it. Make sure the brush Y axis is bigger than the
  1108. object, make sure the object just fits in the positive x positive z quadrant.
  1109. Go to "transform axis" in the brush requestor, select "size", then write down
  1110. the x & z scalings.
  1111. Make a plane. Map the same brush on it. Use transform to get the same size. 
  1112. make sure the plane's size is at least as large as the brush.
  1113. Go to the stage editor.
  1114. Put the object DIRECTLY behind the plane. Orientation and position are
  1115. critical- you want the brush maps to line up. [They're the same size.].
  1116. Put the camera on a 45 degree view so you don't have a dead on shot.
  1117. Make a path that moves the object straight THROUGH the plane, for about 20
  1118. frames.
  1119. Animate it!
  1120. Here's what you'll see. You'll see a flat picture slowly take on a three-d
  1121. form, "extruding" exself into a third dimension. The join between plane
  1122. and object is indetectable because the brush maps are identical. 
  1123. This effect is REALLY cool, though you have to be careful to line everything
  1124. up right. Use  "transform" to set position and orientation of the
  1125. objects and their maps exactly if you're having trouble.
  1126. You can render this in scanline- it doesn't need trace.
  1127. You could make a room with a framed picture (I have a REALLY nice picture
  1128. frame) with a picture of something on it. Camera moves to an oblique view,
  1129. zooms in a little, picture starts "extruding." Maybe out a little, then back,
  1130. then out then back, then finally, the object finally makes it all the way
  1131. out (and the picture behind has a new brush map without the object!). Then
  1132. the released thing (whatever!) could explore the "Real World". An idea. Run
  1133. with it if you like, post how it goes.
  1134. (steve worley, of course!)
  1135. ------------------------------------------------------------------------
  1136.  
  1137. WORLEY PROJECT TWO
  1138.  
  1139. I've been working on an animation that seems to be coming out 
  1140. very nicely- there's a couple of techniques dealing with brushes
  1141. that people might find very useful.
  1142.  
  1143. I created a still first. It started as a "mirrored balls on a checkerboard"
  1144. setup, with the centerpiece being a big, black, glossy sphere with
  1145. a picture of me "trapped" inside the sphere. Later I turned it into
  1146. an animation with the camera moving about so that you could see the 
  1147. different sides. It looked cool- the real goal was to see how well
  1148. a "traditional" mirror & glass sphere populated plain would look.
  1149.  
  1150. It turned out so well that I changed the animation to a still camera
  1151. and having the ball roll around the scene, in front of mirror-balls
  1152. and in back of glass balls to see the neat effects. [Remember the
  1153. long transparency essay I wrote? I was tweaking the crystal spheres
  1154. for this anim.] Making the ball roll was a trick. How do you get 
  1155. something to roll (at the right speed!) while following a path? Getting
  1156. it to spin (like a plane doing a barrel roll) is easy- you align to
  1157. path, then set Y rotation to be from 0 to 360 and it will do a complete
  1158. spin. This is not in the right direction for a rolling ball, though.
  1159. [Annoying feature- you can't say from 0 to 720 for two spins, 
  1160. or 0 to 3600 for ten.] To get it to roll I created a second path, which
  1161. was basically a  larger copy of the first, so the first path was 
  1162. just inside of the second path. I had an axis (a track) follow this 
  1163. new, outside path, then used "align to object" to make the sphere point
  1164. to the axis. Thus, as the ball moved along its path, one end (the positive
  1165. Y axis direction) was always pointed at right angles to the direction
  1166. of motion. Is this clear? Now using the "initial Y angle" and "final Y
  1167. angle" I set them to 0 and 360 and it rotated as it rolled. As a special
  1168. effect, I raised the "track path" a little in the Z direction so the
  1169. sphere looks a little bit like a top rolling around, since the spin
  1170. axis was not horizontal anymore.
  1171.  
  1172. An alternative would be to make a cycle object, rolling around the X axis.
  1173. This is equally valid, but I did it this way first.
  1174.  
  1175. The picture of me on the sphere was pretty easy. I used Digi-View
  1176. to take a picture of me with a scared/concerned expression and 
  1177. my hands palm forward outstretched a little. I stood in front of a 
  1178. clean, white background. I saved the pic as an IFF24 picture from Digi-
  1179. View, and used The Art Department to balance it. Digi-view's balancing
  1180. controls are fine- TAD has a couple of nice features, though, like
  1181. scaling and especially gamma correction, which increases contrast by
  1182. expanding color scales. (I'll explain if someone wants me to.) I saved
  1183. the pic as a 900x600 16 color IFF, then loaded it into Deluxe Paint III.  
  1184.  
  1185. Deluxe Paint is a wonderful program, and has no objection to loading large
  1186. IFFs. I touched up a couple scanning artifacts with the smooth and blend
  1187. tools, then removed the background. To do this, I first used the filled
  1188. rectangle tool to fill in the big, easy to clear spots of background 
  1189. (a wall in my case). I then used the stencil (frisket to you Disney 
  1190. folks) to let only the brightest few whites be changable. A pass or two with
  1191. a big brush along the edge of my body, and woosh- the background was gone. 
  1192. I then added a new background ( a grid of white lines) by picking my body
  1193. up as a brush and stamping it on a grid I made on the spare page. I saved
  1194. the picture, and I was done!
  1195.  
  1196. Imagine does not care what size the picture it maps is- they all get normalized
  1197. to the brush-axis dimension. Thus, my LARGE picture was of significantly
  1198. better quality than just a screenful. Optimally, if I had a 24 bit paint
  1199. program, like the Firecracker paint program, Colorburst's paint program,
  1200. or Toasterpaint, this would have given the highest quality output. Anyone 
  1201. want to give me a Colorburst?
  1202.  
  1203. Wrapping is an art, and everyone should read Mike Halvorson's brush-wrapping
  1204. posted about 2 weeks ago. Its pretty good, though he mis-describes Y axis
  1205. functionality in wrap-wraps, but not in flat-flats (though maybe I'm wrong).
  1206. Luckily, wrapping spheres is a snap- you can't screw up as long as your brush's
  1207. Y axis is smaller than the radius, and the axis is centered. Complex shapes are
  1208. much more difficult, and best described in another post sometime. [Like after
  1209. I can do them consistantly!]
  1210.  
  1211. Anyway, the result mapped onto the sphere looks real cool. The grid wraps 
  1212. around the sphere like longitude/latitude lines, and I was smart and made 
  1213. my grid match up from one side to the other. This made the join on the back 
  1214. of the sphere look UTTERLY undetectable, so it isn't obvious this is a flat 
  1215. object wrapped onto a curve.
  1216.  
  1217. I rendered this 80 frame anim over about 6 days, (hires raytrace) and 
  1218. it was beautiful! The glass in particular looked sleek. I then wanted to
  1219. spiff it up even more, so I added a glass arch (half a stretched torus) for
  1220. the prison-sphere to roll though, and I animated myself on the sphere.
  1221.  
  1222. How did I animate myself on the sphere?? This is a VERY useful trick, and
  1223. I learned it long before I had Imagine, when I was into DPaint anims. What I
  1224. did was I took a camera and VIDEOTAPED myself kinda waving my hands around
  1225. like a mime (the invisible wall in front of me, palms outward)
  1226. with the concerned/scared look on my face. After a few takes, I thought I had
  1227. the  right feel, so I booted my 3000 [well, sat down in front of it- its
  1228. always on!]  and started Digiview.
  1229.  
  1230. Time out: IMPORTANT! Digiview DOES work on a 3000- you must use 'CPU
  1231. nocache noburst' before you start Digiview, or it will die! I almost sold
  1232. my DV until I said "hmm. I'll try one more time. What if I .." and it worked.
  1233.  
  1234. Anyway, I played the tape and freeze-framed on the start of the part I liked.
  1235. YOU CAN'T USE A CHEESY 2-HEAD VCR! You need good stills. I digitized a frame, 
  1236. then spent a good 10 minutes perfecting the balances. [I didn't use TAD because
  1237. it would have been a pain saving all the frames (1/2 meg each!) and loading/
  1238. balancing/saving them again. ADPro has an AREXX interface, and so does 
  1239. Digi-view. This would have been an IDEAL application of AREXX!] Once I had
  1240. the balance perfected, I re-digitized, balanced, and saved the picture as
  1241. 'steve001'. The 001 is important- if you save it as 'steve1' it will be 
  1242. a bit harder to load into DPAINT. [You'll see!] I then forwarded 3 frames,
  1243. and digitized, and saved as 'steve002'. I did this for 40 frames. Yes, its
  1244. mind-numbing, but really only takes half an hour, and you can be listening
  1245. to tunes or talking on the phone or whatever. 
  1246.  
  1247. Finally, I started DPaint, and blessed my extra RAM. I went into 'load 
  1248. picture', selected file 'steve001' and at the bottom of the name requester, 
  1249. entered '40 frames'. Dpaint then loaded the next 40 frames (alphabetically) 
  1250. as an anim.  See why we have steve001? It loads steve001 to steve0040 
  1251. correctly. If I used 'steve1' the order would be steve1,steve10, steve11, 
  1252. ... steve19, steve2, steve20 and so on.
  1253.  
  1254. OK, I have an anim. I play it, and voila! There I am, looking like a person
  1255. acting like he's trapped in a sphere! :-)  The quality of this method is
  1256. SURPRISINGLY good. Try it- even if you don't use Imagine. It's lots of fun!
  1257. 320 by 400 animates faster if you're not doing it for Imagine, but just
  1258. want to muck around. [well worth it!] Here's an idea- tape yourself throwing
  1259. and catching a volleyball, then digitize your best friend. Remove his or her
  1260. head as a brush, then paste a copy of the head on top of the ball in every
  1261. frame of your anim. Voila! Macabre juggling! Works really well if they're 
  1262. smiling.
  1263.  
  1264. Back to the Imagine anim. I digitized in hi-res for quality- it doesn't
  1265. animate as well in DPaint (more bandwith -> slower anims) but for our
  1266. purposes this makes no difference at all. I cleaned out the background 
  1267. for all the frames by using "anim-painting"- holding down the left-amiga
  1268. as you paint. [3000 owners, you might have to change the WB prefs- this
  1269. is the default way to drag screens] By using big brushes for the easy stuff, 
  1270. then stencils, a smaller brush, and a much slower pace for the edges near my 
  1271. body, I removed the background from all the frames. 
  1272.  
  1273. I picked up my body as an animbrush, then anim-painted onto a 40 frame anim
  1274. of a stationary grid. I then used "save picture" [NOT anim!] and saved 40
  1275. frames as stevebg.. DPaint is smart, and makes stevebg001, stevebg002,... and
  1276. so on.
  1277.  
  1278. Now what? To Imagine! I call up my project, which currently has a static 
  1279. brush on the sphere. If I were starting from scratch, I would render the anim 
  1280. in HAM scanline to insure the pacement of the brush and feel of the anim. 
  1281. Once you animate the brush, it is not a trivial matter to change its position 
  1282. on the object you're wrapping. 
  1283.  
  1284. However, I have already done a static test. I know that my brush is in a good 
  1285. position- I'm upright and centered just as I pass the camera- a good shot. I
  1286. then went into the detail editor and loaded sphere.iob [my _I_magine _OB_ject]
  1287. and entered the attributes selector, and select the brush map already there. I
  1288. changed the picture filename in the gadget to say 'stevebg.001' and exited and
  1289. saved the object as sphere001.iob. I then went back to the brush name, changed
  1290. it to 'stevebg002' and saved the sphere as sphere002.iob. Note there is no need
  1291. to RELOAD the sphere- I just save it. This goes by VERY fast once you get 
  1292. started, and I had 40 objects in 5 minutes. Also, every sphere has the same
  1293. attributes and same brush position, etc. The only thing to change (the only
  1294. thing TO change) is the name of the brushmap.
  1295.  
  1296. To the stage editor! I already had my rolling sphere set up- remember, I
  1297. did a static version before that looked good. I deleted the "actor" that was
  1298. my sphere, keeping the position and alignment that were already there.
  1299. I then added a new actor from frame 1 to frame 1 called sphere001.iob.
  1300. I then added a new actor from frame 2 to frame 2 called sphere002.iob.
  1301. I then added a new actor from frame 3 to frame 3 called sphere003.iob.
  1302. I then added a new actor from frame 4 to frame 4 called sphere004.iob.
  1303. .....
  1304. I then added a new actor from frame 40 to frame 40 called sphere040.iob.
  1305. I then added a new actor from frame 41 to frame 41 called sphere041.iob.
  1306. ....
  1307. and so on. My anim was such that my repetive motion made a pretty clean
  1308. transition from beginning to end [in DPaint] so repeating it looked all
  1309. right. If not, ping-ponging would have worked [instead of 1 2 3 4 1 2 3 4 
  1310. 1 ...  it goes 1 2 3 4 4 3 2 1 1 2 ...] Also, I made sure the best views 
  1311. (by the camera) didn't have a transition, anyway. Entering the 80 objects 
  1312. again is boring, but the file requestor is fast enough (and has last file 
  1313. defaults!) so it only took 10 minutes. Alternatively, it might have been 
  1314. neat to see what morphs would do- this would fade out one frame while bringing
  1315. in the next (I think) and might be worth trying sometime. This would be done 
  1316. by changing the object every other frame (or even less often) and setting the
  1317. # of transition frames to 1 or more.
  1318.  
  1319. Well, thats it! The ray-traced anim is rendering now- the scanline version
  1320. showed me waving around just fine, and it really looked smooth! I thought
  1321. that people might like to try this technique- its roundabout, but the
  1322. results are worth it! 
  1323.  
  1324. A note- Animation Journeyman (another renderer) supports animbrushes... must
  1325. be nice, though I haven't seen it.
  1326.  
  1327. If anyone wants me to clarify anything I'll be happy to. This little 
  1328. essay has grown a bit in length... :-) I won't be able to post the final
  1329. anim, its HUGE!, as is the project itself (40 pictures, > 40 objects..)
  1330. though I might put a still or two on ab20 if people want me to.
  1331.  
  1332. Keep on rendering!
  1333. -Steve Worley
  1334. ============================= end of file ===================================
  1335.  
  1336.